The present invention generally relates to semiconductor structures, and particularly to a semiconductor chip employing multi-core cluster architecture having a capability for dynamic thermal management of cores and methods of operating the same.
A multi-core processor is a processing system including two or more independent cores (or CPUs). The cores are typically integrated onto a single integrated circuit die (known as a chip multiprocessor or CMP) in a semiconductor chip, or they may be integrated onto multiple dies in a single semiconductor chip package. A many-core processor is one in which the number of cores is large enough that traditional multi-processor techniques are no longer efficient and likely requires a network on chip. Typically, the threshold for a many-core processor is in the range of several tens of cores.
In a many-core processor, software-level thermal management becomes increasingly complex and costly as the number of cores increases in each cluster and the total number of clusters increases in a semiconductor chip. This is because overhead built into software techniques based on thread profiling and assignment rises non-linearly with the number of cores. The software for managing the threads performs thread profiling, maintaining of thread history, and combining of threads. The rapid increase in the complexity of the software algorithm with the number of cores and clusters makes it difficult to manage in a semiconductor chip having a large number of multi-core clusters.
Thermal management of multi-core clusters in a semiconductor chip having multiple clusters becomes paramount in order to maintain the performance of a semiconductor chip at an optimal level. Because of the difficulty in managing thermal profile of cores in a multi-core multi-cluster semiconductor chip, however, currently available software-based thermal management schemes face challenges in providing an optimal level performance for semiconductor chips with a large number of cores.